MFC笔记 | 您所在的位置:网站首页 › 统计字数 函数 › MFC笔记 |
国际惯例,先贴代码在解释代码。本次界面如下,怎么创建工程就不说了。 void CMFCApplication2Dlg::OnBnClickedButtonCount() { // TODO: Add your control notification handler code here CString strInput; GetDlgItemText(IDC_EDIT_INPUT,strInput); int nLen = strInput.GetLength(); CString strOutPut; strOutPut.Format(_T("字符串长度:%d, 字符个数: %d"),nLen,nLen); SetDlgItemText(IDC_STATIC_OUTPUT,strOutPut); } void CMFCApplication2Dlg::OnBnClickedButtonClear() { // TODO: Add your control notification handler code here CString str; int nLen = 0; str.Format(_T("字符串长度:%d, 字符个数: %d"),nLen,nLen); SetDlgItemText(IDC_STATIC_OUTPUT, str); CString sstr; SetDlgItemText(IDC_EDIT_INPUT,sstr); }注解: MFC虽然使用C++语法但是好多细节问题和C++有所不同,MFC之所以比较好用个人认为就是微软设计的类库比较强大,基本上能用到了全都有。 第一个细节问题: MFC使用的字符串是CString,这个字符串是不可以随便赋值的,比如CString str = "1";是不被允许的,个人理解是这个字符串是标准C++字符串,和MFC的不一样, 第二个细节:CString.Format() 这个理解成类型转换比较好,放一篇博文 https://blog.csdn.net/wangkaishou/article/details/5846152 讲的很详细。 对于_t和L : _T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。因此,Visual C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。 可以参考博文:https://blog.csdn.net/u010003835/article/details/47606621 第三个细节:库函数真的好用 GetDlgItemText(IDC_EDIT_INPUT,strInput); SetDlgItemText(IDC_STATIC_OUTPUT,strOutPut); 从函数名字就知道这个API是干什么的,例如Get是获取,set是写入,Dlg是界面ItemText是选择文本,其中的第一个参数就是控件的ID,第二个参数是存储变量。
|
CopyRight 2018-2019 实验室设备网 版权所有 |